package day09;

import java.util.Arrays;
import java.util.StringJoiner;

public class test1 {
public static void main(String[] args) {
        int[][] arr= {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        // 使用Arrays.toString输出内层数组内容
        System.out.println("使用Arrays.toString输出内层数组:");
        for (int[] inarr : arr) {
            System.out.println(Arrays.toString(inarr));
        }
        
        // 使用双层for循环遍历二维数组
        System.out.println("\n使用双层for循环遍历二维数组:");
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j <arr[i].length; j++) {
                System.out.print(arr[i][j] + " ，");
            }
        }
            System.out.println(); 

        // 使用Arrays.deepToString()输出整个二维数组
        System.out.println("\n使用Arrays.deepToString输出整个二维数组:");
        System.out.println(Arrays.deepToString(arr));
        
        // 使用增强型for循环遍历二维数组
        System.out.println("\n使用增强型for循环遍历二维数组:");
        for (int[] row : arr) {
            for (int element : row) {
                System.out.print(element + " ");
            }
            System.out.println();
        }

        // 使用StringJoiner格式化输出
        System.out.println("\n使用StringJoiner格式化输出:");
        for (int[] row : arr) {
            StringJoiner joiner = new StringJoiner(", ", "[", "]");
            for (int num : row) {
                joiner.add(String.valueOf(num));
            }
            System.out.println(joiner.toString());
        }
        
        // 使用格式化输出（printf）
        System.out.println("\n使用格式化输出(printf):");
        for (int[] row : arr) {
            for (int num : row) {
                System.out.printf("%2d ", num); // 每个数字占2位宽度
            }
            System.out.println();
        }
        // 二维数组求和
        System.out.println("\n二维数组求和:");
        int totalSum = 0;
        for (int[] row : arr) {
            int rowSum = 0;
            for (int num : row) {
                rowSum += num;
            }
            System.out.println("行和: " + rowSum);
            totalSum += rowSum;
        }
        System.out.println("总和: " + totalSum);
}
}

